// 管理员更新反馈状态云函数
exports.main = async (event, context) => {
  try {
    // 检查管理员权限
    const adminId = context.uid;
    // if (!adminId) {
    //   return {
    //     code: 401,
    //     message: '需要管理员权限'
    //   };
    // }
    
    const { id, status } = event;
    
    // 验证必要参数
    if (!id || !status) {
      return {
        code: 400,
        message: '缺少必要参数'
      };
    }
    
    // 验证状态值
    const validStatuses = ['pending', 'processed'];
    if (!validStatuses.includes(status)) {
      return {
        code: 400,
        message: '无效的状态值'
      };
    }
    
    const db = uniCloud.database();
    
    // 检查反馈是否存在
    const feedbackRes = await db.collection('feedbacks')
      .doc(id)
      .get();
    
    if (!feedbackRes.data || !feedbackRes.data._id) {
      return {
        code: 404,
        message: '反馈不存在'
      };
    }
    
    // 更新反馈状态
    await db.collection('feedbacks').doc(id).update({
      status,
      updateTime: new Date(),
      processedBy: adminId
    });
    
    return {
      code: 0,
      message: '更新反馈状态成功'
    };
    
  } catch (error) {
    console.error('更新反馈状态失败:', error);
    return {
      code: 500,
      message: '更新反馈状态失败，请稍后重试'
    };
  }
};